function promocionesInit()
{
	//Debemos dar tiempo a que cargue completamente el DOM y se inicializen los widgets dijit
	setTimeout("promocionesInitDelayed()", 2800);
}

function promocionesInitDelayed()
{
	//var tabForm = dijit.byId('tabForm'); // para explicacion, esto no es necesario ya existe var tabForm global (jsId)
	//var value = form.attr('value');  // value.firstName will be the value of the dijit.form.TextBox
	//form.attr('value', {firstName: 'Bob'});  // the dijit.form.TextBox will now have the value 'Bob'
	try {
		var data = tabForm.get('value');
    	console.log(data);
    
		var pfx = (global_opc == 'edit' || global_opc == 'clone') ? '' : '_add';
	
		validaRecurrencia(data['recurrencia[0]']);
		activaAbono(data['costo[0]']);//valor
		activaFormaCobro(data['tipo_cliente[0]']);//tipo cliente
		validaNotifica();
	} catch(e) {}	
}


function formatBolsa(cellValue) 
{
	return (cellValue != "") ? "S&iacute" : "-";
}


function formatTipoCliente(cellValue)
{
	if (cellValue == 'T' ) return 'Todos';
	if (cellValue == 'P' ) return 'Prepago'; 
	if (cellValue == 'H' ) return 'Hibrido'; 
	if (cellValue == 'C' ) return 'Contrato'; 
}

function formatFormaCobroHibrido(cellValue)
{
	if (cellValue == '1' ) return 'Contra Factura';
	if (cellValue == '2' ) return 'Descuento en el Prepago';
}

function formatRecurrencia(cellValue)
{
	if (cellValue == '0' ) return 'No recurrente';
	if (cellValue == '1' ) return 'Recurrencia Ilimitada';
	if (cellValue == '2' ) return 'Recurrencia Limitada';
}	


function validaRecurrencia(valor) 
{
	var pfx = (global_opc == 'edit' || global_opc == 'clone') ? '' : '_add';
	//var data = tabForm.get('value');
	var limite_recurrencia = dijit.byId('edit0_'+pfx+'4');
	var cod_tasacion_rec = dijit.byId('edit0_'+pfx+'8');
	/*
	0: No recurrente
	1: Recurrencia Ilimitada
	2: Recurrencia Limitada
	*/
	console.debug(valor);
	if (valor == "1" ) {
		limite_recurrencia.set('readonly', true);
		limite_recurrencia.set('value', '');
		limite_recurrencia.set('required', false);// dias de recurrencia
		
		cod_tasacion_rec.set('readonly', false);//cod tasacion
		cod_tasacion_rec.set('required', true);
		
		//tabForm.set('required', {'limite_recurrencia[0]': false});
		//tabForm.set('disabled', {'limite_recurrencia[0]': true});
		
		//tabForm.set('disabled', {'cod_tasacion_rec[0]': false});
		//tabForm.set('required', {'cod_tasacion_rec[0]': true});	
		
		
	} else if (valor == '2') {
		limite_recurrencia.set('readonly', false);// dias de recurrencia
		cod_tasacion_rec.set('readonly', false);//cod tasacion
		//tabForm.set('disabled', {'limite_recurrencia[0]': false});
		//tabForm.set('disabled', {'cod_tasacion_rec[0]': false});
	} else {
		limite_recurrencia.set('readonly', true);// dias de recurrencia
		limite_recurrencia.set('required', false);
		limite_recurrencia.set('value', '');
		//tabForm.set('value', {'cod_tasacion[0]': ''});
		//tabForm.set('disabled', {'cod_tasacion[0]': true});	

		//tabForm.set('value', {'limite_recurrencia[0]': '0'});
		//tabForm.set('required', {'limite_recurrencia[0]': false});
		//tabForm.set('disabled', {'limite_recurrencia[0]': true});
		cod_tasacion_rec.set('readonly', true);//cod tasacion
		cod_tasacion_rec.set('value', '');
		cod_tasacion_rec.set('required', false);
	}	
}


function activaFormaCobro(valor)
{
   //var data = tabForm.get('value');	
   var pfx = (global_opc == 'edit' || global_opc == 'clone') ? '' : '_add';	
   var costo = dijit.byId('edit0_'+pfx+'6'); 
   var cobro_hib = dijit.byId('edit0_'+pfx+'10');
   var abono = dijit.byId('edit0_'+pfx+'11');
   
   if (valor == "T" || valor== "H" ) {
	   cobro_hib.set('disabled', false); //cobro hibrido
   } else {
	   cobro_hib.set('disabled', true);
   }
   
   if(costo.get('value') == 0 && (valor == "P" || valor == "H") )//costo
   {
	   abono.set('disabled', false);
   } else {
	   abono.set('disabled', true);	   
	   abono.set('value', '0');
   }
}

function activaAbono(valor)
{
	//var data = tabForm.get('value');
	var pfx = (global_opc == 'edit' || global_opc == 'clone') ? '' : '_add';		
	var abono = dijit.byId('edit0_'+pfx+'11'); 
	
	if (valor == '0') {
		abono.set('disabled', false);	 
   	} else {
   		abono.set('disabled', true);	   
   		abono.set('value', '0');
	}
}

function validaNotifica()
{

	var pfx = (global_opc == 'edit' || global_opc == 'clone') ? '' : '_add';

    //[TODO] this sucks but works, extender dijit.form con un byName('name') para hacer esto mas simple
	var txt_exito = tabForm.getChildren().filter(function(w){ return w.get('name') == 'txt_exito[0]';})[0];
	var txt_error = tabForm.getChildren().filter(function(w){ return w.get('name') == 'txt_error[0]';})[0];
	var txt_sin_saldo = tabForm.getChildren().filter(function(w){ return w.get('name') == 'txt_sin_saldo[0]';})[0];

	var notifica = tabForm.getChildren().filter(function(w){ return w.get('name') == 'notifica[0]';})[0];	
	var envia_sms = tabForm.getChildren().filter(function(w){ return w.get('name') == 'envia_sms[0]';})[0];

   if(notifica.get('checked', true) || envia_sms.get('checked', true)) //notifica
   {
	   txt_exito.set('disabled', false);
	   txt_error.set('disabled', false);
	   txt_sin_saldo.set('disabled', false);

   }
   else
   {
	   txt_exito.set('disabled', true);
	   txt_exito.set('required', true);
	   
	   txt_error.set('disabled', true);
	   txt_error.set('required', true);
	   
	   txt_sin_saldo.set('disabled', true);
	   txt_sin_saldo.set('required', true);
   }
}

